package com.bo.baby2.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;


/**
* @program: baby2_p2p
*
* @description: ${description}
*
* @author:波
*
* @create: 2020-07-14 21:18
**/


/**
    * 流水记录表
    */
@ApiModel(value="流水记录表")
public class TAccountFlow implements Serializable {
    /**
    * id
    */
    @ApiModelProperty(value="id")
    private Long id;

    /**
    * 账户id
    */
    @ApiModelProperty(value="账户id")
    private String accountId;

    /**
    * 金额(单位：分)
    */
    @ApiModelProperty(value="金额(单位：分)")
    private Long amount;

    /**
    * 资金流水类型
    */
    @ApiModelProperty(value="资金流水类型")
    private Integer flowType;

    /**
    * (变化后)可用金额(单位：分)
    */
    @ApiModelProperty(value="(变化后)可用金额(单位：分)")
    private Long availableAmount;

    /**
    * (变化后)冻结金额(单位：分)
    */
    @ApiModelProperty(value="(变化后)冻结金额(单位：分)")
    private Long freezeAmount;

    /**
    * 流水说明
    */
    @ApiModelProperty(value="流水说明")
    private String remark;

    /**
    * 创建日期
    */
    @ApiModelProperty(value="创建日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public Long getAmount() {
        return amount;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    public Integer getFlowType() {
        return flowType;
    }

    public void setFlowType(Integer flowType) {
        this.flowType = flowType;
    }

    public Long getAvailableAmount() {
        return availableAmount;
    }

    public void setAvailableAmount(Long availableAmount) {
        this.availableAmount = availableAmount;
    }

    public Long getFreezeAmount() {
        return freezeAmount;
    }

    public void setFreezeAmount(Long freezeAmount) {
        this.freezeAmount = freezeAmount;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", accountId=").append(accountId);
        sb.append(", amount=").append(amount);
        sb.append(", flowType=").append(flowType);
        sb.append(", availableAmount=").append(availableAmount);
        sb.append(", freezeAmount=").append(freezeAmount);
        sb.append(", remark=").append(remark);
        sb.append(", createTime=").append(createTime);
        sb.append("]");
        return sb.toString();
    }
}